/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package AppService;


import Facades.CategoriaBeanRemote;
import Facades.ClickdiaBeanRemote;

import Facades.EmpresasBeanRemote;

import Facades.UsuariosBeanRemote;
import Facades.VistoBeanRemote;
import VO.Categoria;
import VO.Clickdia;
import VO.Empresas;




import VO.Usuarios;
import VO.Visto;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.naming.InitialContext;

/**
 *
 * @author Julian
 */
public class AdminEmpresa {


    static public  boolean datosempresa(String id, String idusuario, int idcategoria,String urlbanner,String urlweb,String telefono, String direccion,String mail, String descripcion) throws Exception{
    boolean result = false;

   
    Empresas empresa = new Empresas();
    Categoria categ = new Categoria();
    categ.setIdCategoria(idcategoria);
    Usuarios u = new Usuarios();
    Visto v = new Visto(id, 0, 0, 0);
    
    empresa.setIdEmpresas(id);

    
    //empresa.setIdCategoria(categ);
    
    empresa.setURLbanner(urlbanner);
    empresa.setURLweb(urlweb);
    empresa.setTelefono(telefono);
    empresa.setDireccion(direccion);
    empresa.setDescripcion(descripcion);
    empresa.setMail(mail);

            

    try{
            InitialContext ctx1 = new InitialContext();
            
            //InitialContext ctx1 = (InitialContext) a;
            EmpresasBeanRemote ebean = (EmpresasBeanRemote) ctx1.lookup("Facades.EmpresasBeanRemote");
            
            UsuariosBeanRemote ubean =(UsuariosBeanRemote) ctx1.lookup("Facades.UsuariosBeanRemote");
            CategoriaBeanRemote cbean = (CategoriaBeanRemote) ctx1.lookup("Facades.CategoriaBeanRemote");
            VistoBeanRemote vbean = (VistoBeanRemote) ctx1.lookup("Facades.VistoBeanRemote");

            categ = cbean.findid(idcategoria);
            u= ubean.findid(idusuario);
            empresa.setIdUsuario(u);
            System.out.println(u.getIdUsuarios());
            empresa.setIdCategoria(categ);
            ebean.create(empresa);
            
            vbean.create(v);
            result = true;
        

      }catch (Exception ex) {
           throw ex;
        }


    return result;

    }

    static public  boolean deditarempresa(String id,  int idcategoria,String urlbanner,String urlweb,String telefono, String direccion,String mail, String descripcion) throws Exception{
    boolean result = false;


    Empresas empresa = new Empresas();
    Categoria categ = new Categoria();
    categ.setIdCategoria(idcategoria);






    //empresa.setIdCategoria(categ);


    //empresa.setContactosList(null);


    //datos.setIdEmpresa(id);



    try{
            InitialContext ctx1 = new InitialContext();
            //InitialContext ctx1 = (InitialContext) a;
            EmpresasBeanRemote ebean = (EmpresasBeanRemote) ctx1.lookup("Facades.EmpresasBeanRemote");

            UsuariosBeanRemote ubean =(UsuariosBeanRemote) ctx1.lookup("Facades.UsuariosBeanRemote");
            CategoriaBeanRemote cbean = (CategoriaBeanRemote) ctx1.lookup("Facades.CategoriaBeanRemote");
            VistoBeanRemote vbean = (VistoBeanRemote) ctx1.lookup("Facades.VistoBeanRemote");

            categ = cbean.findid(idcategoria);

                empresa = ebean.findid(id);

                empresa.setURLbanner(urlbanner);
                empresa.setURLweb(urlweb);
                empresa.setTelefono(telefono);
                empresa.setDireccion(direccion);
                empresa.setDescripcion(descripcion);
                empresa.setMail(mail);

            empresa.setIdCategoria(categ);
            ebean.edit(empresa);



            result = true;
    }catch (Exception ex) {
           throw ex;
        }


    return result;

    }

    static public boolean  crearclickdia(String idempresa, Date fecha) throws Exception{
        boolean result = false;
        Clickdia clickdia = new Clickdia(idempresa, fecha);
        int click = 0;
        clickdia.setClick(click);
        try {
            InitialContext ctx1 = new InitialContext();
            ClickdiaBeanRemote cbean = (ClickdiaBeanRemote) ctx1.lookup("Facades.ClickdiaBeanRemote");
            cbean.create(clickdia);
            result = true;
        } catch (Exception e) {
            throw e;
        }
        return result;
    }

    static public boolean  crearvisto(String id) throws Exception{
        boolean result = false;
        Visto v = new Visto(id, 0, 0, 0);

        try {
            InitialContext ctx1 = new InitialContext();
            VistoBeanRemote vbean = (VistoBeanRemote) ctx1.lookup("Facades.VistoBeanRemote");
            vbean.create(v);
            result = true;
        } catch (Exception e) {
            throw e;
        }
        return result;
    }

    static public boolean  editarclickdia(String idempresa, Date fecha) throws Exception{
        boolean result = false;
        int click;
        Clickdia clickdia = new Clickdia(idempresa, fecha);
        
        try {
            InitialContext ctx1 = new InitialContext();
            ClickdiaBeanRemote cbean = (ClickdiaBeanRemote) ctx1.lookup("Facades.ClickdiaBeanRemote");
            click = cbean.findid(idempresa).getClick();
            click = click +1;
            clickdia.setClick(click);
            cbean.edit(clickdia);
            result = true;
        } catch (Exception e) {
            throw e;
        }
        return result;
    }

    static public boolean  ceditarvisto(String idempresa,  int click, int numerovotos,int total) throws Exception{

        boolean result = false;

        Visto visto = new Visto(idempresa, click, numerovotos, total);


        try {
            InitialContext ctx1 = new InitialContext();

            VistoBeanRemote vbean = (VistoBeanRemote) ctx1.lookup("Facades.VistoBeanRemote");
            vbean.edit(visto);

        } catch (Exception e) {
            throw e;
        }

        return result;

    }

    static public ArrayList<String> BuscarporUsuario(String id) throws Exception{
    ArrayList<Empresas> listempresa = new ArrayList<Empresas>();
    ArrayList<String> listfinal = new ArrayList<String>();
    Usuarios u = new Usuarios(id);
        try {
            InitialContext ctx1 = new InitialContext();

            EmpresasBeanRemote ebean = (EmpresasBeanRemote) ctx1.lookup("Facades.EmpresasBeanRemote");
            List<Empresas> list = ebean.findidUsuario(u);
            for(int i=0;i<list.size();i++){
            listempresa.add(list.get(i));
            }
            for(int j =0;j<listempresa.size();j=j+1){
            listfinal.add(listempresa.get(j).getIdEmpresas());
            listfinal.add(listempresa.get(j).getURLbanner());
            }
            return listfinal;
        } catch (Exception e) {
            throw e;
        }

    }

    static public Empresas BuscarporId(String id) throws Exception{
        try {
            InitialContext ctx1 = new InitialContext();

            EmpresasBeanRemote ebean = (EmpresasBeanRemote) ctx1.lookup("Facades.EmpresasBeanRemote");
            return ebean.findid(id);
        } catch (Exception e) {
            throw e;
        }

    }


}
